# -*- coding: utf-8 -*-

import pygame, sys
from pygame.locals import *
from player import *
from cenario import *

pygame.init() 
clock = pygame.time.Clock()
screen = pygame.display.set_mode((798,672))



class Batalha:
	def start(self,idioma_selecionado,stage,som):
		fase = Cenario(stage,som,2,idioma_selecionado)
		pygame.mixer.init(22050,-16,2,4096)
		player = Player(84,126,'Cherife')
		player2 = Player(672,546,'Bandido')
		lista_de_players = [player,player2]
		rodando = True
		pause = False
		tempo_pausado = datetime.now()
		while rodando:
			clock.tick(80)
			key = pygame.key.get_pressed()
			screen.blit(fase.background,(0,0))
			if fase.comeco_de_fase:
				if (datetime.now() - fase.tempo_inicial).seconds >= 2:
					screen.blit(fase.imagem_interface[0],(0,0))
					screen.blit(fase.imagem_interface[0],(0,0))
				if (datetime.now() - fase.tempo_inicial).seconds <= 1:
					screen.blit(fase.imagem_interface[0],(0,0))
					screen.blit(fase.imagem_interface[0],(0,0))
				if (datetime.now() - fase.tempo_inicial).seconds >= 3:
					dx_center_background = fase.background.get_rect().centerx
					dy_center_background = fase.background.get_rect().centery		
					fonte  = pygame.font.Font('fontes' + os.sep + 'Edmunds.ttf',50)
					tamanho_palavra = fonte.render(fase.fase_nome,True,(255,255,255)).get_rect().size
					coordenada = (dx_center_background - tamanho_palavra[0]/2,dy_center_background - tamanho_palavra[1]/2)
					screen.blit(fonte.render(fase.fase_nome,True,(255,255,255)),coordenada)
				if (datetime.now() - fase.tempo_inicial).seconds == 5:
					fase.comeco_de_fase = False
					if fase.som_disponivel and not fase.comeco_de_fase:
						pygame.mixer.music.load('sounds' + os.sep + fase.fase + '.mp3')
						pygame.mixer.music.play(-1)
			else:
				for event in pygame.event.get():
					if event.type == QUIT:
						pygame.quit()
						sys.exit()
					if event.type == KEYUP:
						if key[pygame.K_SPACE] and player.status == 'VIVO' and fase.fase_concluida == False:
							player.soltar_boma(fase)
						if key[pygame.K_KP_ENTER] and player2.status == 'VIVO' and fase.fase_concluida == False:
							player2.soltar_boma(fase)
				if fase.som_disponivel and fase.comeco_de_fase:
					pygame.mixer.music.load('sounds' + os.sep + fase.fase + '.mp3')
					pygame.mixer.music.play(-1)
					fase.comeco_de_fase = False
				if player.status == 'VIVO' and player2.vidas > 0:
					if key[pygame.K_a]:
						player.move(-player.velocidade, 0)
						fase.colisao_de_movimento(-player.velocidade, 0, player)
					if key[pygame.K_d]:
						player.move(player.velocidade, 0)
						fase.colisao_de_movimento(player.velocidade, 0, player)
					if key[pygame.K_w]:
						player.move(0, -player.velocidade)
						fase.colisao_de_movimento(0, -player.velocidade, player)
					if key[pygame.K_s]:
						player.move(0, player.velocidade)
						fase.colisao_de_movimento(0, player.velocidade, player)
				if player2.status == 'VIVO' and player.vidas > 0:
					if key[pygame.K_LEFT]:
						player2.move(-player2.velocidade, 0)
						fase.colisao_de_movimento(-player2.velocidade, 0, player2)
					if key[pygame.K_RIGHT]:
						player2.move(player2.velocidade, 0)
						fase.colisao_de_movimento(player2.velocidade, 0, player2)
					if key[pygame.K_UP]:
						player2.move(0, -player2.velocidade)
						fase.colisao_de_movimento(0, -player2.velocidade, player2)
					if key[pygame.K_DOWN]:
						player2.move(0, player2.velocidade)
						fase.colisao_de_movimento(0, player2.velocidade, player2)
				fase.desenha_itens(screen,lista_de_players)
				fase.colisao_estatica(player)
				fase.colisao_estatica(player2)
				screen.blit(player.player_imagem,(player.rect.x-4,player.rect.y-29))
				screen.blit(player2.player_imagem,(player2.rect.x-4,player2.rect.y-29))
				if player.vidas == 0 or player2.vidas == 0:
					fase.fase_concluida = True
					screen.blit(fase.imagem_interface[1],(0,0))
					if idioma_selecionado == 'portugues':
						jogador = 'Jogador'
					elif idioma_selecionado == 'frances':
						jogador = 'Joueur'
					elif idioma_selecionado == 'ingles':
						jogador = 'Player'
					dx_center_background = fase.background.get_rect().centerx
					dy_center_background = 130
					fonte  = pygame.font.Font('fontes' + os.sep + 'Edmunds.ttf',50)
					tamanho_palavra = fonte.render(fase.fase_nome,True,(255,255,255)).get_rect().size
					coordenada = (dx_center_background - tamanho_palavra[0]/2,dy_center_background - tamanho_palavra[1]/2)
					screen.blit(fonte.render(fase.fase_nome,True,(255,255,255)),coordenada)
					fonte2  = pygame.font.Font('fontes' + os.sep + 'Edmunds.ttf',35)
					fonte3  = pygame.font.Font('fontes' + os.sep + 'Rosewood.otf',35)
					screen.blit(fonte2.render(jogador+' 1',True,(255,255,255)),(220,205))
					screen.blit(fonte3.render('%02d' % player.vidas,True,(255,255,255)),(260,285))
					screen.blit(fonte2.render(jogador+' 2',True,(255,255,255)),(430,205))
					screen.blit(fonte3.render('%02d' % player2.vidas,True,(255,255,255)),(540,285))
					if player.vidas > player2.vidas:
						if idioma_selecionado == 'portugues':
							jogador_vencedor = 'Jogador 1 Venceu'
						elif idioma_selecionado == 'frances':
							jogador_vencedor = u'Joueur 1 Gagné'
						elif idioma_selecionado == 'ingles':
							jogador_vencedor = 'Player 1 Win'
					elif player.vidas < player2.vidas:
						if idioma_selecionado == 'portugues':
							jogador_vencedor = 'Jogador 2 Venceu'
						elif idioma_selecionado == 'frances':
							jogador_vencedor = 'Joueur 2 Gagne'
						elif idioma_selecionado == 'ingles':
							jogador_vencedor = 'Player 2 Win'
					else:
						if idioma_selecionado == 'portugues':
							jogador_vencedor = 'Empate'
						elif idioma_selecionado == 'frances':
							jogador_vencedor = 'Lien'
						elif idioma_selecionado == 'ingles':
							jogador_vencedor = 'Draw'
					dy_center_background = 400
					fonte  = pygame.font.Font('fontes' + os.sep + 'Edmunds.ttf',50)
					tamanho_palavra = fonte.render(jogador_vencedor,True,(255,255,255)).get_rect().size
					coordenada = (dx_center_background - tamanho_palavra[0]/2,dy_center_background - tamanho_palavra[1]/2)
					screen.blit(fonte.render(jogador_vencedor,True,(255,255,255)),coordenada)
					pygame.display.update()
					if key[pygame.K_RETURN]:
						rodando = False
						pygame.mixer.music.stop()
			pygame.display.update()
